home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / DisplayP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  4.2 KB  |  158 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.3
  7. */ 
  8. /*   $RCSfile: DisplayP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:36:25 $ */
  9. /*
  10. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. /*
  16. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  17. #ifndef _XmDisplayP_h
  18. #define _XmDisplayP_h
  19.  
  20. #include <Xm/DesktopP.h>
  21. #include <Xm/VendorSEP.h>
  22. #include <Xm/DropSMgr.h>
  23. #include <Xm/Display.h>
  24. #include <Xm/ScreenP.h>
  25.  
  26. /* A little incest */
  27. #include <Xm/DragCP.h>
  28. #include <Xm/VirtKeysP.h>
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. #ifdef _NO_PROTO
  35. typedef Widget (*XmDisplayGetDisplayProc)();
  36. #else
  37. typedef Widget (*XmDisplayGetDisplayProc)
  38.     (Display *);
  39. #endif
  40.  
  41.  
  42. typedef struct {
  43.     XmDisplayGetDisplayProc GetDisplay;
  44.     XtPointer               extension;
  45. } XmDisplayClassPart;
  46.  
  47. /* 
  48.  * we make it a appShell subclass so it can have it's own instance
  49.  * hierarchy
  50.  */
  51. typedef struct _XmDisplayClassRec{
  52.     CoreClassPart              core_class;
  53.     CompositeClassPart         composite_class;
  54.     ShellClassPart          shell_class;
  55.     WMShellClassPart           wm_shell_class;
  56.     VendorShellClassPart     vendor_shell_class;
  57.     TopLevelShellClassPart     top_level_shell_class;
  58.     ApplicationShellClassPart     application_shell_class;
  59.     XmDisplayClassPart        display_class;
  60. }XmDisplayClassRec;
  61.  
  62. typedef struct _XmModalDataRec{
  63.     Widget                      wid;
  64.     XmVendorShellExtObject    ve;
  65.     XmVendorShellExtObject    grabber;
  66.     Boolean            exclusive;
  67.     Boolean            springLoaded;
  68. }XmModalDataRec, *XmModalData;
  69.  
  70. typedef struct {
  71.     unsigned char        dragInitiatorProtocolStyle;
  72.     unsigned char        dragReceiverProtocolStyle;
  73.  
  74.     unsigned char        userGrabbed; /* flag for menu vs dnd */
  75.  
  76.     WidgetClass            dragContextClass;
  77.     WidgetClass            dropTransferClass;
  78.     WidgetClass            dropSiteManagerClass;
  79.     XmDragContext        activeDC;
  80.     XmDropSiteManagerObject    dsm;
  81.     Time            lastDragTime;
  82.     Window            proxyWindow;
  83.  
  84.     XmModalData            modals;
  85.     Cardinal            numModals;
  86.     Cardinal            maxModals;
  87.     XtPointer            xmim_info;
  88.  
  89.     String            bindingsString;
  90.     XmKeyBindingRec        *bindings;
  91.     XKeyEvent            *lastKeyEvent;
  92.     unsigned char        keycode_tag[XmKEYCODE_TAG_SIZE];
  93.  
  94.     int                shellCount;
  95.     XtPointer            displayInfo;    /* extension */
  96. } XmDisplayPart, *XmDisplayPartPtr;
  97.  
  98. typedef struct _XmDisplayInfo {
  99.     /* so much for information hiding */
  100.     Cursor        SashCursor;        /* Sash.c */
  101.     Widget        destinationWidget;    /* Dest.c */
  102.     Cursor        TearOffCursor;        /* TearOff.c */
  103.     XtPointer    UniqueStamp;        /* UniqueEvnt.c */
  104. } XmDisplayInfo;
  105.  
  106. typedef struct _XmDisplayRec{
  107.     CorePart         core;
  108.     CompositePart     composite;
  109.     ShellPart         shell;
  110.     WMShellPart        wm;
  111.     VendorShellPart    vendor;
  112.     TopLevelShellPart     topLevel;
  113.     ApplicationShellPart application;
  114.     XmDisplayPart    display;
  115. }XmDisplayRec;
  116.  
  117. externalref XmDisplayClassRec     xmDisplayClassRec;
  118.  
  119. externalref String _Xm_MOTIF_DRAG_AND_DROP_MESSAGE ;
  120.  
  121.  
  122. /********    Private Function Declarations    ********/
  123. #ifdef _NO_PROTO
  124.  
  125. extern XmDropSiteManagerObject _XmGetDropSiteManagerObject() ;
  126. extern unsigned char _XmGetDragProtocolStyle() ;
  127. extern unsigned char _XmGetDragTrackingMode() ;
  128. extern Widget _XmGetDragContextFromHandle() ;
  129. extern WidgetClass _XmGetXmDisplayClass() ;
  130. extern WidgetClass _XmSetXmDisplayClass() ;
  131.  
  132. #else
  133.  
  134. extern XmDropSiteManagerObject _XmGetDropSiteManagerObject( 
  135.                         XmDisplay xmDisplay) ;
  136. extern unsigned char _XmGetDragProtocolStyle( 
  137.                         Widget w) ;
  138. extern unsigned char _XmGetDragTrackingMode( 
  139.                         Widget w) ;
  140. extern Widget _XmGetDragContextFromHandle( 
  141.                         Widget w,
  142.                         Atom iccHandle) ;
  143. extern WidgetClass _XmGetXmDisplayClass( void ) ;
  144. extern WidgetClass _XmSetXmDisplayClass( 
  145.                         WidgetClass wc) ;
  146.  
  147. #endif /* _NO_PROTO */
  148. /********    End Private Function Declarations    ********/
  149.  
  150.  
  151. #ifdef __cplusplus
  152. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  153. #endif
  154.  
  155. #endif /* _XmDisplayP_h */
  156. /* DON'T ADD STUFF AFTER THIS #endif */
  157.  
  158.